package com.ucode.model.hrm;

import com.ucode.tool.base.BaseTenantMode;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 离职申请
 * @Author: liliang
 * @Date: 2025/3/28 14:51
 * @Version: 1.0
 */
@Schema(description = "人力资源管理系统 - 离职申请")
@Data
@EqualsAndHashCode
@ToString(callSuper = true)
public class HrmResignationApply extends BaseTenantMode<Long,Long> {
    /**
     * 员工ID
     */
    private Long employeeId;
    /**
     * 入职客户公司ID
     */
    private Long companyId;
    /**
     * 入职客户公司项目ID
     */
    private Long projectId;
    /**
     * 入职日期
     */
    private LocalDate hireDate;
    /**
     * 拟离职日期
     */
    private LocalDate proposedLastWorkday;       // 拟离职日期
    /**
     *  实际离职日期
     */
    private LocalDate actualLastWorkday;
    /**
     * 离职类型
     */
    private Integer resignationType;
    /**
     * 离职原因详细说明
     */
    private String reasonDetail;            // 离职原因详细说明
    /**
     * 工作交接详情
     */
    private String handoverDetail;
    /**
     * 评价详情
     */
    private String evaluateDetail;
    /**
     * 审批状态
     * @see com.ucode.tool.base.enums.CommonAuditStatusEnum
     */
    private Integer auditStatus;
    /**
     * 处理人
     */
    private Long processorId;
    /**
     * 处理时间
     */
    private LocalDateTime processTime;
    /**
     * 处理备注
     */
    private String processRemark;

}
